Design and Implementation of Reeective Sql Extended Abstract
نویسندگان
چکیده
One weakness of SQL has been its inability to express certain classes of queries, e.g., iterative queries and database schema-independent queries. Fixes to this problem generally involve embedding SQL in a more expressive language. Re ection|the ability of a language to encode arbitrary programs and evaluate these encodings during execution|can provide a seamless, natural solution. In database query languages re ection has been generally con ned to a procedural setting, where one paper in particular, Van den Bussche et al, has given us much of our inspiration; however, exactly how to pragmatically incorporate re ection into a query language like SQL has remained elusive. This paper presents the design and implementation of a Re ective SQL (RSQL): an extension of SQL wherein programs themselves can create (i.e., reify), manipulate and evaluate programs. Ordinary SQL tables serve to encode these programs; these tables look and feel much like the programs they encode and, furthermore, retain SQL's declarative nature. The implementation itself is comprised of an RSQL interface and a relational database server. This work establishes, in a practical setting, a means of enhancing SQL, opening new avenues to solutions of database problems that have been hitherto inaccessible through SQL alone. Computer Science Dept., Indiana University, Bloomington, IN 47405, USA. Email: fdalkilic,mjain,[email protected] yXerox Palo Alto Research Center, 3333 Coyote Hill Road, Palo Alto, CA 94304, USA. Email: [email protected]
منابع مشابه
Re ection on a Legacy Transaction Processing
In this paper we describe our experience applying the concepts of reeection to a legacy transaction processing (TP) monitor in order to support the implementation of extended transaction models. In the past ten years, numerous extended transaction models have been proposed to address the challenges posed by new advanced applications. Few practical implementations of these extended transaction m...
متن کاملQueries and Algorithms Computable by Polynomial Time Existential Reeective Machines Extended Abstract for Pods'97 Submission
We consider two kinds of reeective relational machines: the usual ones, which use rst order queries, and existential reeective machines, which use only rst order existential queries. We compare these two computation models. We build on already existing results for standard relational machines, obtained by Abiteboul, Papadimitriou and Vianu APV], so we prove only results for existential machines...
متن کاملChapter 2 a Reeective Architecture for Real-time Operating Systems 2.1 Introduction
This chapter describes how the notion of a reeective architecture can serve as a central principle for building complex and exible real-time systems, contributing to making them more dependable. A reeective system is one that reasons about and reeects upon its own current state and that of the environment to determine the right course of action. By identifying reeective information, exposing it...
متن کاملChannel Reiication: a Reeective Approach to Fault-tolerant Software Development
Reeective systems can be used to ease the implementation of fault tolerance mechanisms in distributed applications as show in Anc95, Fab94]. In this paper we introduce a new model for reeective computations, and we show how it can be used for building up fault tolerant applications.
متن کاملREAM: An SQL Based and Extensible Relational Database Management System
REAM (RElational dAtabase Management system) is a relational database management system developed by OKI. The relational database has been expected to be widespread thanks to its well-defined mathematical foundation; however, application programmers have suffered from incompatible access interfaces among various so-called relational database svstems so far due to the absence of the internationa...
متن کامل